package empleados.clases.entidades;

import java.sql.ResultSet;

public class DocumentoDeViaje extends Entidad{

    private BaseDatos bd;

    private int id;
    private String tipo;
    private String numero;
    private String emision;
    private String expiracion;
    private boolean digitalizado;
    private String pais;

    public enum PaisDocumento{
        DEFAULT("Default"),
        MEXICO("Mexico"),
        CANADA("Canada"),
        BRAZIL("Brazil"),
        ESTADOSUNIDOS("Estados Unidos");

        private final String name;

        private PaisDocumento(String tipo){
            this.name = tipo;
        }

        public String getName(){
            return this.name;
        }

    }

    public DocumentoDeViaje(int id){
        ResultSet resultado;
        bd = new BaseDatos("com.mysql.jdbc.Driver", "jdbc:mysql://127.0.0.1:3306/terafit", "root", "");
		resultado = bd.obtenerDatos("SELECT * FROM documento_viaje AS dv JOIN pais ON dv.id_pais = pais.id WHERE dv.id = " + id);
        try{
            resultado.next();
            this.id = id;
            this.tipo = resultado.getString("tipo");
            this.numero = resultado.getString("numero");
            this.emision = resultado.getDate("emision").toString();
            this.expiracion = resultado.getDate("expiracion").toString();
            this.digitalizado = resultado.getBoolean("digitalizado");
            this.pais = resultado.getString("pais");
        }catch (Exception e){
            this.id = -1;
            this.tipo = "";
            this.numero = "";
            this.emision = "";
            this.expiracion = "";
            this.digitalizado = false;
            this.pais = "none";//PaisDocumento.DEFAULT;
            e.printStackTrace();
        }
    }

    public DocumentoDeViaje(){
        this.tipo = "";
        this.numero = "";
        this.emision = "";
        this.expiracion = "";
        this.digitalizado = true;
        this.pais = "none";
    }

    public String getValoresDocumento(){
        return "Numero: " + this.numero + ".Tipo: " + this.tipo + ".Emision: " + this.emision + "Expiracion: " + this.expiracion + ".Digitalizado " + (digitalizado?"Si":"No") + ".Pais: " + this.pais;
    }

}